package com.ssy.lingxi.contract.service;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.contract.model.vo.applyamount.request.ApplyAmountOrderRecordPageVO;
import com.ssy.lingxi.contract.model.vo.applyamount.response.ApplyAmountOrderRecordVO;

/**
 * 请款单流转记录接口定义
 * @author 伍将
 * @date 2021/3/10
 * @version 2.0.0
 */
public interface IApplyAmountOrderRecordService {

    /**
     * 新增流转记录
     * @author 伍将
     * @date 2021/3/10
     * @param user: 新增外部流转记录
     * @param applyId: 请款单id
     * @param status: 状态
     * @param statusName: 状态名称
     * @param operate: 操作
     * @param opinion: 意见
     * @return 操作结果
     **/
    Wrapper<Void> add(UserLoginCacheDTO user, Long applyId, Integer status, String statusName, String operate, String opinion);

    /**
     * 分页查询请款单的流转记录
     * @author 伍将
     * @date 2021/3/10
     * @param user: 当前登录用户
     * @param pageVO: 分页请求参数
     * @return 操作结果
     **/
    Wrapper<PageData<ApplyAmountOrderRecordVO>> pageList(UserLoginCacheDTO user, ApplyAmountOrderRecordPageVO pageVO);

    /**
     * 删除流转记录
     * @author 伍将
     * @date 2021/3/10
     * @param applyId: 请款单id
     * @return 操作结果
     **/
    Wrapper<Void> delete(Long applyId);
}
